import type { VbenFormSchema } from '#/adapter/form';
import type { VxeTableGridOptions } from '#/adapter/vxe-table';
import type { HandCardAssetApi } from '#/api/spa/handcard/asset/index';

import { getDictOptions, getRangePickerDefaultProps } from '#/utils';
import { DICT_SPA_TYPE } from '#/utils/dictSpa';
import { getHandCardTypePage } from '#/api/spa/handcard/type';

/** 手牌类别下拉选项 */
function getHandCardTypeOptions() {
  return {
    api: (params: any) =>
      getHandCardTypePage({ pageNo: 1, pageSize: 100, ...(params || {}) }),
    resultField: 'list',
    labelField: 'typeName',
    valueField: 'id',
  };
}

/** 新增/修改的表单 */
export function useFormSchema(): VbenFormSchema[] {
  return [
    {
      fieldName: 'id',
      component: 'Input',
      dependencies: {
        triggerFields: [''],
        show: () => false,
      },
    },
    // {
    //   fieldName: 'resourceId',
    //   label: '资源中台资源ID',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入资源中台资源ID',
    //   },
    // },
    {
      fieldName: 'cardNumber',
      label: '手牌号码',
      rules: 'required',
      component: 'Input',
      componentProps: {
        placeholder: '请输入手牌号码',
      },
    },
    {
      fieldName: 'physicsCode',
      label: '芯片编号',
      component: 'Input',
      componentProps: {
        placeholder: '请输入芯片编号（ID卡编号）',
      },
    },
    {
      fieldName: 'physicsBankCode',
      label: '物理编号',
      component: 'Input',
      componentProps: {
        placeholder: '请输入闸机读取的物理编号',
      },
    },
    // {
    //   fieldName: 'cardTypeId',
    //   label: '手牌类型ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入手牌类型ID',
    //   },
    // },
    {
      fieldName: 'cardTypeId',
      label: '手牌类型',
      rules: 'required',

      component: 'ApiSelect',
      componentProps: {
        placeholder: '请选择手牌类型',
        labelField:'cardTypeName',
        valueField:'cardTypeId',
        // labelInValue:true,
        showSearch: true,
        ...getHandCardTypeOptions(),
        onChange: (_v: any, option: any, ctx: any) => {
          const label = Array.isArray(option) ? option[0]?.label : option?.label;
          ctx?.formApi?.setValues?.({ cardTypeName: label ?? '' });
        },
        filterOption: (input: string, option: any) =>
          String(option.label || '')
            .toLowerCase()
            .includes(String(input || '').toLowerCase()),
      },
    },

    {
      fieldName: 'status',
      label: '手牌状态',
      rules: 'required',
      component: 'RadioGroup',
      componentProps: {
        options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
        buttonStyle: 'solid',
        optionType: 'button',
      },
    },
    // {
    //   fieldName: 'previousStatus',
    //   label: '前置状态',
    //   component: 'RadioGroup',
    //   componentProps: {
    //     options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
    //     buttonStyle: 'solid',
    //     optionType: 'button',
    //   },
    // },
    // {
    //   fieldName: 'statusChangeTime',
    //   label: '状态变更时间',
    //   component: 'DatePicker',
    //   componentProps: {
    //     showTime: true,
    //     format: 'YYYY-MM-DD HH:mm:ss',
    //     valueFormat: 'x',
    //   },
    // },
    // {
    //   fieldName: 'statusChangeReason',
    //   label: '状态变更原因',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入状态变更原因',
    //   },
    // },
    // {
    //   fieldName: 'storeId',
    //   label: '门店ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入门店ID',
    //   },
    // },
    // {
    //   fieldName: 'orgId',
    //   label: '组织ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入组织ID',
    //   },
    // },
    // {
    //   fieldName: 'groupId',
    //   label: '所属集团ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入所属集团ID',
    //   },
    // },
    {
      fieldName: 'remarks',
      label: '备注',
      component: 'Textarea',
      componentProps: {
        placeholder: '请输入备注',
      },
    },
  ];
}

/** 列表的搜索表单 */
export function useGridFormSchema(): VbenFormSchema[] {
  return [
    // {
    //   fieldName: 'resourceId',
    //   label: '资源中台资源ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入资源中台资源ID',
    //   },
    // },
    {
      fieldName: 'cardNumber',
      label: '手牌号码',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入手牌号码',
      },
    },
    // {
    //   fieldName: 'physicsCode',
    //   label: '芯片编号（ID卡编号）',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入芯片编号（ID卡编号）',
    //   },
    // },
    // {
    //   fieldName: 'physicsBankCode',
    //   label: '闸机读取的物理编号',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入闸机读取的物理编号',
    //   },
    // },
    // 手牌类型按“手牌类别”动态下拉搜索
    {
      fieldName: 'cardTypeId',
      label: '手牌类型',
      component: 'ApiSelect',
      componentProps: {
        placeholder: '请选择手牌类型',
        allowClear: true,
        showSearch: true,
        labelField:'cardTypeName',
        valueField:'cardTypeId',
        ...getHandCardTypeOptions(),
        filterOption: (input: string, option: any) =>
          String(option.label || '')
            .toLowerCase()
            .includes(String(input || '').toLowerCase()),
      },
    },
    {
      fieldName: 'status',
      label: '手牌状态',
      component: 'Select',
      componentProps: {
        allowClear: true,
        options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
        placeholder: '请选择手牌状态',
      },
    },
    {
      fieldName: 'previousStatus',
      label: '前置状态',
      component: 'Select',
      componentProps: {
        allowClear: true,
        options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
        placeholder: '请选择前置状态',
      },
    },
    {
      fieldName: 'statusChangeTime',
      label: '状态变更时间',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
    {
      fieldName: 'statusChangeReason',
      label: '状态变更原因',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入状态变更原因',
      },
    },
    // {
    //   fieldName: 'storeId',
    //   label: '门店ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入门店ID',
    //   },
    // },
    // {
    //   fieldName: 'orgId',
    //   label: '组织ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入组织ID',
    //   },
    // },
    // {
    //   fieldName: 'groupId',
    //   label: '所属集团ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入所属集团ID',
    //   },
    // },
    {
      fieldName: 'createTime',
      label: '创建时间',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
  ];
}

/** 列表的字段 */
export function useGridColumns(): VxeTableGridOptions<HandCardAssetApi.HandCardAsset>['columns'] {
  return [
    // {
    //   field: 'id',
    //   title: '手牌ID',
    //   minWidth: 120,
    // },
    {
      field: 'cardNumber',
      title: '手牌号码',
      minWidth: 120,
    },
    {
      field: 'physicsCode',
      title: '芯片编号',
      minWidth: 120,
    },
    {
      field: 'physicsBankCode',
      title: '物理编号',
      minWidth: 120,
    },
    // {
    //   field: 'cardTypeId',
    //   title: '手牌类型ID',
    //   minWidth: 120,
    //   // cellRender: {
    //   //   name: 'CellDict',
    //   //   props: { type: DICT_SPA_TYPE.HandCardStatus },
    //   // },
    // },
    {
      field: 'cardTypeName',
      title: '手牌类型',
      minWidth: 120,
      // cellRender: {
      //   name: 'CellDict',
      //   props: { type: DICT_SPA_TYPE.HandCardStatus },
      // },
    },
    {
      field: 'status',
      title: '手牌状态',
      minWidth: 120,
      cellRender: {
        name: 'CellDict',
        props: { type: DICT_SPA_TYPE.HandCardStatus },
      },
    },
    // {
    //   field: 'previousStatus',
    //   title: '前置状态',
    //   minWidth: 120,
    //   cellRender: {
    //     name: 'CellDict',
    //     props: { type: DICT_SPA_TYPE.HandCardStatus },
    //   },
    // },
    // {
    //   field: 'statusChangeTime',
    //   title: '状态变更时间',
    //   minWidth: 120,
    //   formatter: 'formatDateTime',
    // },
    // {
    //   field: 'statusChangeReason',
    //   title: '状态变更原因',
    //   minWidth: 120,
    // },
    // {
    //   field: 'storeId',
    //   title: '门店ID',
    //   minWidth: 120,
    //   // cellRender: {
    //   //   name: 'CellDict',
    //   //   props: { type: DICT_SPA_TYPE.HandCardStatus },
    //   // },
    // },
    // {
    //   field: 'orgId',
    //   title: '组织ID',
    //   minWidth: 120,
    //   // cellRender: {
    //   //   name: 'CellDict',
    //   //   props: { type: DICT_SPA_TYPE.HandCardStatus },
    //   // },
    // },
    // {
    //   field: 'groupId',
    //   title: '所属集团ID',
    //   minWidth: 120,
    //   // cellRender: {
    //   //   name: 'CellDict',
    //   //   props: { type: DICT_SPA_TYPE.HandCardStatus },
    //   // },
    // },
    {
      field: 'remarks',
      title: '备注',
      minWidth: 120,
    },
    {
      field: 'createTime',
      title: '创建时间',
      minWidth: 120,
      formatter: 'formatDateTime',
    },
    // {
    //   title: '操作',
    //   width: 300,
    //   fixed: 'right',
    //   slots: { default: 'actions' },
    // },
  ];
}



// ==================== 子表（手牌使用记录） ====================

/** 新增/修改的表单 */
export function useHandCardUsageFormSchema(): VbenFormSchema[] {
  return [
    // {
    //   fieldName: 'id',
    //   component: 'Input',
    //   dependencies: {
    //     triggerFields: [''],
    //     show: () => false,
    //   },
    // },
    // {
    //   fieldName: 'groupId',
    //   label: '',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入',
    //   },
    // },
    // {
    //   fieldName: 'storeId',
    //   label: '',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入',
    //   },
    // },
    // {
    //   fieldName: 'identityId',
    //   label: '关联的身份ID (handcard)',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入关联的身份ID (handcard)',
    //   },
    // },
    {
      fieldName: 'registryId',
      label: '消费登记ID',
      component: 'Input',
      componentProps: {
        placeholder: '请输入消费登记ID',
      },
    },
    {
      fieldName: 'teamId',
      label: '关联团队/拼房ID',
      component: 'Input',
      componentProps: {
        placeholder: '请输入关联团队/拼房ID',
      },
    },
    {
      fieldName: 'usageStatus',
      label: '状态',
      rules: 'required',
      component: 'RadioGroup',
      componentProps: {
        options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
        buttonStyle: 'solid',
        optionType: 'button',
      },
    },
    {
      fieldName: 'roomId',
      label: '房间/包间ID',
      component: 'Input',
      componentProps: {
        placeholder: '请输入房间/包间ID',
      },
    },
    {
      fieldName: 'openTime',
      label: '开牌时间',
      component: 'DatePicker',
      componentProps: {
        showTime: true,
        format: 'YYYY-MM-DD HH:mm:ss',
        valueFormat: 'x',
      },
    },
    {
      fieldName: 'closeTime',
      label: '关牌时间',
      component: 'DatePicker',
      componentProps: {
        showTime: true,
        format: 'YYYY-MM-DD HH:mm:ss',
        valueFormat: 'x',
      },
    },
    // {
    //   fieldName: 'depositAmount',
    //   label: '押金金额',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入押金金额',
    //   },
    // },
    // {
    //   fieldName: 'refundAmount',
    //   label: '退款金额',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入退款金额',
    //   },
    // },
    // {
    //   fieldName: 'remarks',
    //   label: '',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入',
    //   },
    // },
  ];
}

/** 列表的搜索表单 */
export function useHandCardUsageGridFormSchema(): VbenFormSchema[] {
  return [
    // {
    //   fieldName: 'cardId',
    //   label: '手牌ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入手牌ID',
    //   },
    // },
    // {
    //   fieldName: 'groupId',
    //   label: '',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入',
    //   },
    // },
    // {
    //   fieldName: 'storeId',
    //   label: '',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入',
    //   },
    // },
    // {
    //   fieldName: 'identityId',
    //   label: '关联的身份ID (handcard)',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入关联的身份ID (handcard)',
    //   },
    // },
    // {
    //   fieldName: 'registryId',
    //   label: '消费登记ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入消费登记ID',
    //   },
    // },
    // {
    //   fieldName: 'teamId',
    //   label: '关联团队/拼房ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入关联团队/拼房ID',
    //   },
    // },
    // {
    //   fieldName: 'usageStatus',
    //   label: '状态',
    //   component: 'Select',
    //   componentProps: {
    //     allowClear: true,
    //     options: getDictOptions(DICT_SPA_TYPE.HandCardStatus, 'string'),
    //     placeholder: '请选择状态',
    //   },
    // },
    // {
    //   fieldName: 'roomId',
    //   label: '房间/包间ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入房间/包间ID',
    //   },
    // },
    {
      fieldName: 'openTime',
      label: '开牌时间',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
    {
      fieldName: 'closeTime',
      label: '关牌时间',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
    // {
    //   fieldName: 'depositAmount',
    //   label: '押金金额',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入押金金额',
    //   },
    // },
    // {
    //   fieldName: 'refundAmount',
    //   label: '退款金额',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入退款金额',
    //   },
    // },
    // {
    //   fieldName: 'remarks',
    //   label: '',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入',
    //   },
    // },
    {
      fieldName: 'createTime',
      label: '',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
  ];
}

/** 列表的字段 */
export function useHandCardUsageGridColumns(): VxeTableGridOptions<HandCardAssetApi.HandCardUsage>['columns'] {
  return [
    {
      field: 'id',
      title: '使用记录ID',
      minWidth: 120,

    },
    {
      field: 'cardId',
      title: '手牌ID',
      minWidth: 120,

    },
    // {
    //   field: 'groupId',
    //   title: '',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'storeId',
    //   title: '',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'identityId',
    //   title: '关联的身份ID (handcard)',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'registryId',
    //   title: '消费登记ID',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'teamId',
    //   title: '关联团队/拼房ID',
    //   minWidth: 120,
    //
    // },
    {
      field: 'usageStatus',
      title: '状态',
      minWidth: 120,
        cellRender: {
          name: 'CellDict',
          props: { type: DICT_SPA_TYPE.HandCardStatus },
        },

    },
    {
      field: 'roomId',
      title: '房间/包间ID',
      minWidth: 120,

    },
    {
      field: 'openTime',
      title: '开牌时间',
      minWidth: 120,
      formatter: 'formatDateTime',
    },
    {
      field: 'closeTime',
      title: '关牌时间',
      minWidth: 120,
      formatter: 'formatDateTime',
    },
    // {
    //   field: 'depositAmount',
    //   title: '押金金额',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'refundAmount',
    //   title: '退款金额',
    //   minWidth: 120,
    //
    // },
    {
      field: 'remarks',
      title: '',
      minWidth: 120,

    },
    {
      field: 'createTime',
      title: '',
      minWidth: 120,
      formatter: 'formatDateTime',
    },
    // {
    //   title: '操作',
    //   width: 200,
    //   fixed: 'right',
    //   slots: { default: 'actions' },
    // },
  ];
}

// ==================== 子表（手牌动作记录表（替换/撤销等）） ====================

/** 新增/修改的表单 */
export function useHandCardActionLogFormSchema(): VbenFormSchema[] {
  return [
    {
      fieldName: 'id',
      component: 'Input',
      dependencies: {
        triggerFields: [''],
        show: () => false,
      },
    },
    // {
    //   fieldName: 'groupId',
    //   label: '集团ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入集团ID',
    //   },
    // },
    // {
    //   fieldName: 'storeId',
    //   label: '门店ID',
    //   rules: 'required',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入门店ID',
    //   },
    // },
    // {
    //   fieldName: 'cardId',
    //   label: '手牌ID',
    //   component: 'Input',
    //   componentProps: {
    //     placeholder: '请输入手牌ID',
    //   },
    // },
    {
      fieldName: 'oldCardId',
      label: '原手牌ID（替换时使用）',
      component: 'Input',
      componentProps: {
        placeholder: '请输入原手牌ID（替换时使用）',
      },
    },
    {
      fieldName: 'newCardId',
      label: '新手牌ID（替换时使用）',
      component: 'Input',
      componentProps: {
        placeholder: '请输入新手牌ID（替换时使用）',
      },
    },
    {
      fieldName: 'usageId',
      label: '使用记录ID（撤销时使用）',
      component: 'Input',
      componentProps: {
        placeholder: '请输入使用记录ID（撤销时使用）',
      },
    },
    {
      fieldName: 'registrationId',
      label: '登记ID',
      component: 'Input',
      componentProps: {
        placeholder: '请输入登记ID',
      },
    },
    {
      fieldName: 'actionCode',
      label: '动作类型',
      rules: 'required',
      component: 'Input',
      componentProps: {
        placeholder: '请输入动作类型',
      },
    },
    {
      fieldName: 'actionReason',
      label: '动作原因（替换/撤销原因）',
      rules: 'required',
      component: 'Input',
      componentProps: {
        placeholder: '请输入动作原因（替换/撤销原因）',
      },
    },
    {
      fieldName: 'actionAmount',
      label: '动作涉及金额（撤销时用）',
      component: 'Input',
      componentProps: {
        placeholder: '请输入动作涉及金额（撤销时用）',
      },
    },
    {
      fieldName: 'actionNotes',
      label: '动作说明',
      component: 'Input',
      componentProps: {
        placeholder: '请输入动作说明',
      },
    },
    {
      fieldName: 'operatorId',
      label: '操作员ID',
      rules: 'required',
      component: 'Input',
      componentProps: {
        placeholder: '请输入操作员ID',
      },
    },
    {
      fieldName: 'operatorName',
      label: '操作员姓名',
      rules: 'required',
      component: 'Input',
      componentProps: {
        placeholder: '请输入操作员姓名',
      },
    },
    {
      fieldName: 'scope',
      label: '权限范围',
      component: 'Input',
      componentProps: {
        placeholder: '请输入权限范围',
      },
    },
    {
      fieldName: 'scoperef',
      label: '权限引用',
      component: 'Input',
      componentProps: {
        placeholder: '请输入权限引用',
      },
    },
  ];
}

/** 列表的搜索表单 */
export function useHandCardActionLogGridFormSchema(): VbenFormSchema[] {
  return [
    // {
    //   fieldName: 'groupId',
    //   label: '集团ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入集团ID',
    //   },
    // },
    // {
    //   fieldName: 'storeId',
    //   label: '门店ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入门店ID',
    //   },
    // },
    {
      fieldName: 'cardId',
      label: '手牌ID',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入手牌ID',
      },
    },
    {
      fieldName: 'oldCardId',
      label: '原手牌ID（替换时使用）',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入原手牌ID（替换时使用）',
      },
    },
    {
      fieldName: 'newCardId',
      label: '新手牌ID（替换时使用）',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入新手牌ID（替换时使用）',
      },
    },
    {
      fieldName: 'usageId',
      label: '使用记录ID（撤销时使用）',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入使用记录ID（撤销时使用）',
      },
    },
    {
      fieldName: 'registrationId',
      label: '登记ID',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入登记ID',
      },
    },
    {
      fieldName: 'actionCode',
      label: '动作类型',
      component: 'Input',
      componentProps: {
        allowClear: true,
        placeholder: '请输入动作类型',
      },
    },
    // {
    //   fieldName: 'actionReason',
    //   label: '动作原因（替换/撤销原因）',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入动作原因（替换/撤销原因）',
    //   },
    // },
    // {
    //   fieldName: 'actionAmount',
    //   label: '动作涉及金额（撤销时用）',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入动作涉及金额（撤销时用）',
    //   },
    // },
    // {
    //   fieldName: 'actionNotes',
    //   label: '动作说明',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入动作说明',
    //   },
    // },
    // {
    //   fieldName: 'operatorId',
    //   label: '操作员ID',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入操作员ID',
    //   },
    // },
    // {
    //   fieldName: 'operatorName',
    //   label: '操作员姓名',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入操作员姓名',
    //   },
    // },
    // {
    //   fieldName: 'scope',
    //   label: '权限范围',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入权限范围',
    //   },
    // },
    // {
    //   fieldName: 'scoperef',
    //   label: '权限引用',
    //   component: 'Input',
    //   componentProps: {
    //     allowClear: true,
    //     placeholder: '请输入权限引用',
    //   },
    // },
    {
      fieldName: 'createTime',
      label: '创建时间',
      component: 'RangePicker',
      componentProps: {
        ...getRangePickerDefaultProps(),
        allowClear: true,
      },
    },
  ];
}

/** 列表的字段 */
export function useHandCardActionLogGridColumns(): VxeTableGridOptions<HandCardAssetApi.HandCardActionLog>['columns'] {
  return [
    {
      field: 'id',
      title: '主键ID',
      minWidth: 120,

    },
    // {
    //   field: 'groupId',
    //   title: '集团ID',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'storeId',
    //   title: '门店ID',
    //   minWidth: 120,
    //
    // },
    {
      field: 'cardId',
      title: '手牌ID',
      minWidth: 120,

    },
    {
      field: 'oldCardId',
      title: '原手牌ID（替换时使用）',
      minWidth: 120,

    },
    {
      field: 'newCardId',
      title: '新手牌ID（替换时使用）',
      minWidth: 120,

    },
    {
      field: 'usageId',
      title: '使用记录ID（撤销时使用）',
      minWidth: 120,

    },
    {
      field: 'registrationId',
      title: '登记ID',
      minWidth: 120,

    },
    {
      field: 'actionCode',
      title: '动作类型',
      minWidth: 120
    ,cellRender: {
    name: 'CellDict',
      props: { type: DICT_SPA_TYPE.HandCardStatus },
  }

    },
    {
      field: 'actionReason',
      title: '动作原因（替换/撤销原因）',
      minWidth: 120,

    },
    {
      field: 'actionAmount',
      title: '动作涉及金额（撤销时用）',
      minWidth: 120,

    },
    {
      field: 'actionNotes',
      title: '动作说明',
      minWidth: 120,

    },
    {
      field: 'operatorId',
      title: '操作员ID',
      minWidth: 120,

    },
    {
      field: 'operatorName',
      title: '操作员姓名',
      minWidth: 120,

    },
    // {
    //   field: 'scope',
    //   title: '权限范围',
    //   minWidth: 120,
    //
    // },
    // {
    //   field: 'scoperef',
    //   title: '权限引用',
    //   minWidth: 120,
    //
    // },
    {
      field: 'createTime',
      title: '创建时间',
      minWidth: 120,
      formatter: 'formatDateTime',
    },
    // {
    //   title: '操作',
    //   width: 200,
    //   fixed: 'right',
    //   slots: { default: 'actions' },
    // },
  ];
}

